/**
 * 群裂变，新增参数类型
 */
export interface IFormParams {
    period_type: 1 | 2; // 1: 永久 || 2: 固定期限
    activity_time: any; // YYYY-MM-DD HH:mm:ss
    reward_list: Array<IRewardRow>;
}

/**
 * 页面类型
 */
export interface IPageType {
    look: boolean;
    edit: boolean;
    new: boolean;
    copy: boolean;
}

/**
 * 奖品参数类型
 */
export interface IRewardRow {
    // 奖品设置
    reward_type: number; // 1: 实物， 2: 红包
    reward_title: string;
    reward_image: string; // 是一段url
    /** 红包的url，只需要前端做切换缓存使用，不需要传给后端 */
    reward_red_image?: string; // 是一段url
    reward_stock: number; // int 类型
    help_num?: number; // int 类型
    /** 追加库存数量 */
    add_stock?: number;
    // > 红包类型
    red_envelope_type: number; // 1: 普通， 2: 拼手气
    red_envelope_money: number; // float 类型,
    exchange_desc: string;
    red_exchange_desc?: string;
    // >> 拼手气红包
    red_envelope_total: number; // float 类型
    red_envelope_money_min?: number;
    /** 拼手气最大范围值, */
    red_envelope_range: number;
    //}
    // 兑换设置
    exchange_usage_type: number; // 1: 兑换码, 2: 线下邮寄，
    exchange_code_type: number; // 1: 系统自动生成, 2: 导入兑奖码，
    exchange_file_list: Array<{
        file_name: string;
        file_url: string;
        code: string;
        num: number;
    }>;
    exchange_time: any;
    // >> 线下邮寄 时才有， 否则是 []
    mail_info: Array<{
        system_code: string;
        type: string; // 属性类型
        name: string;
    }>;
    is_update: number; //是否更新客户信息  1-关 2-开
    /** 是否是新增的奖品，前端用来判断是否展示编辑按钮. 无需传给后端 */
    is_add_reward?: boolean;
}

/**
 * 奖品列表列类型
 */
export interface IRewardColumn {
    row: IRewardRow;
    column: Array<unknown>;
    $index: number;
}

// 判断是否打开了开关的key，在样机组件中使用到
export interface ISwitchKey {
    [prop: string]: {
        tabsKey: 'activilyInfo' | 'helpFrend' | 'winnersList';
        isOpenTabs?: (switchNum?: number) => boolean;
    };
}

/**
 * 新增和编辑用到的类型
 */
export interface ICreateOrEditParams {
    [prop: string]: any;
}

/**
 * 海报的类型
 */
export interface IPoster {
    [prop: string]: any;
}

/**
 * 样机标签栏枚举
 */
export type IActivilyTabsActived = 'activilyInfo' | 'helpFrend' | 'winnersList';

/**
 * 奖品弹窗类型
 * @description add: 新增， edit： 编辑， view：查看
 */
export type IPrizeDialogType = 'add' | 'edit' | 'view';
